#pragma once

#include <inference_engine.hpp>
#include <opencv2/opencv.hpp>


struct FaceMoodReader {

    static constexpr float MaxPatch = 15;
    static constexpr float MaxYaw = 15;
    static constexpr float MaxRoll = 15;
    static constexpr size_t MoodCount = 5;

    static const char *MoodNames[];

    struct Result {
        float conf[MoodCount];
        int index;
    };

    FaceMoodReader (InferenceEngine::Core &ie, const std::string &device, const std::string &modelDir);

    Result infer (const cv::Mat &frame);

private:
    InferenceEngine::ExecutableNetwork net;
};
